package com.swust.course.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.swust.course.domain.CourseInfo;

/**
 * 课程信息Service接口
 * 
 * @author LiuShuai
 * @date 2024-04-04
 */
public interface ICourseInfoService extends IService<CourseInfo>
{
    /**
     * 查询课程信息
     * 
     * @param courseCode 课程信息主键
     * @return 课程信息
     */
    public CourseInfo selectCourseInfoByCourseCode(String courseCode);

    /**
     * 查询课程信息列表
     * 
     * @param courseInfo 课程信息
     * @return 课程信息集合
     */
    public List<CourseInfo> selectCourseInfoList(CourseInfo courseInfo);

    /**
     * 新增课程信息
     * 
     * @param courseInfo 课程信息
     * @return 结果
     */
    public int insertCourseInfo(CourseInfo courseInfo);

    /**
     * 修改课程信息
     * 
     * @param courseInfo 课程信息
     * @return 结果
     */
    public int updateCourseInfo(CourseInfo courseInfo);

    /**
     * 批量删除课程信息
     * 
     * @param courseCodes 需要删除的课程信息主键集合
     * @return 结果
     */
    public int deleteCourseInfoByCourseCodes(String[] courseCodes);

    /**
     * 删除课程信息信息
     * 
     * @param courseCode 课程信息主键
     * @return 结果
     */
    public int deleteCourseInfoByCourseCode(String courseCode);

    /**
     * 导入课程信息
     * @param courseInfos
     * @param updateSupport
     * @param operName
     * @return
     */
    String importCourseInfo(List<CourseInfo> courseInfos, boolean updateSupport, String operName);
}
